Sensor device and method for detecting proximity events

ABSTRACT

Methods, systems and devices are described for determining positional information for objects using an input device. The various embodiments provide improved user interface functionality by facilitating user input with input objects that are at the surface and objects that are away from the surface. The input device includes a processing system and an array of sensor electrodes adapted to capacitively sense objects in a sensing region. The processing system is configured to determine first positional information for an input object in a first portion of the sensing region based on a difference between a first frame of the first plurality of frames and a filtered frame even when the input object is determined to be in the sensing region when the first plurality of frames are acquired, wherein the filtered frame is based on one or more of the first plurality of frames.

FIELD OF THE INVENTION

This invention generally relates to electronic devices, and morespecifically relates to sensor devices and using sensor devices forproducing user interface inputs.

BACKGROUND OF THE INVENTION

Input devices including proximity sensor devices (also commonly calledtouchpads or touch sensor devices) are widely used in a variety ofelectronic systems. A proximity sensor device typically includes asensing region, often demarked by a surface, in which the proximitysensor device determines the presence, location and/or motion of one ormore input objects. Proximity sensor devices may be used to provideinterfaces for the electronic system. For example, proximity sensordevices are often used as input devices for larger computing systems(such as opaque touchpads integrated in, or peripheral to, notebook ordesktop computers). Proximity sensor devices are also often used insmaller computing systems (such as touch screens integrated in cellularphones).

Presently known capacitive sensing devices are limited to accuratelydetecting input objects that are at or very near the surface.Specifically, most capacitive sensing devices can accurately determinelocation and/or motion of objects that are either right at the surface,or very near to the surface. However, when the objects are farther awayfrom the surface, detection accuracy degrades, and most devices cannotreliably respond to such objects, and thus simply ignore such objects.This limits the flexibility and usability of the sensor device. Thus,there exists a need for capacitive sensing devices that enhance deviceflexibility and usability.

BRIEF SUMMARY OF THE INVENTION

The embodiments of the present invention provide a device and methodthat facilitates improved device usability. Specifically, the device andmethod provide improved user interface functionality by facilitatinguser input with input objects that may be either at the surface or awayfrom the surface. The input device includes a processing system and anarray of sensor electrodes adapted to capacitively sense objects in asensing region. The sensor device is adapted to provide user interfacefunctionality by facilitating data entry responsive to proximateobjects, both at the surface and away from the surface.

One of the challenges for proximity sensing of remote gestures, such asan air swipe, is that the signals being detected are quite smallcompared to signals associated with traditional touch sensing. Thisresults in a very low signal-to-noise ratio (SNR) which tends to yieldan unacceptably high rate of false positive and false negativedetections. The problem is exacerbated by variations in baselinecapacitance used in presently known processing models.

Accordingly, embodiments of the present invention employ a processingsystem configured to implement a differential detection method fordetecting moving objects (such as a user's hand) in a first portion ofthe sensing region away from the sensing surface. The processing systememploys various filtering techniques in conjunction with a slidingwindow of object position estimates to discriminate between a valid andan invalid air swipe based on, for example, maximum and minimumanticipated swipe velocities and velocity uniformity. The presentmethods avoid the inaccuracies associated with using a traditionalbaseline capacitance as a basis for acquiring “difference” capacitancevalues, and instead uses a dynamic baseline value which is a function ofpreviously measured capacitance values. The resulting positionalinformation can then be used by the system to provide a wide range ofuser interface functionality.

By configuring the processing system in this way, the input device andmethod can reliably determine positional information for objects thatare away from the surface using the same array of sensor electrodes thatare used to determine positional information for objects at the surface.The positional information may include (or can be used to obtain)position estimates. The position estimates may include locationinformation (including x, y, and z coordinates) as well as informationrelated to one or more of pressure, force, size, shape, input objecttype, and the like. Thus, the sensor device provides increased userinterface flexibility.

BRIEF DESCRIPTION OF DRAWINGS

The preferred exemplary embodiment of the present invention willhereinafter be described in conjunction with the appended drawings,where like designations denote like elements, and:

FIG. 1 is a block diagram of an exemplary system that includes an inputdevice in accordance with an embodiment of the invention;

FIG. 2 is schematic view of a portion of an exemplary sensor electrodepattern and associated capacitance values for the X and Y coordinates inaccordance with an embodiment of the invention;

FIG. 3 is a schematic view of an exemplary processing system inaccordance with an embodiment of the invention;

FIG. 4 is a schematic view of an exemplary object away from a sensingsurface in accordance with an embodiment of the invention;

FIG. 5 is a block diagram of a processing architecture for detectingproximity events in accordance with an embodiment of the invention;

FIG. 6 is a block diagram of a processing architecture for detectingproximity events in accordance with an alternate embodiment of theinvention;

FIG. 7 is a block diagram of a bypass filter architecture in accordancewith an embodiment of the invention;

FIGS. 8A-8C are schematic plots of object position information versustime in accordance with an embodiment of the invention; and

FIG. 9 is a flow diagram of an exemplary method of detecting valid airswipes in accordance with an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The following detailed description is merely exemplary in nature and isnot intended to limit the invention or the application and uses of theinvention. Furthermore, there is no intention to be bound by anyexpressed or implied theory presented in the preceding technical field,background, brief summary or the following detailed description.

Various embodiments of the present invention provide input devices andmethods that facilitate improved usability. User interface functionalitymay be enhanced by facilitating user input with objects that are at thesurface as well as objects that are away from the surface. Specifically,the device and method of the present invention employ a differencingscheme whereby a current profile value is differenced with a filteredversion of one or more previous profile values, for example using a highpass filtering operation. The positional information is extracted fromthe differenced data, and subsequently processed to determine whether avalid air swipe has occurred. In this way, reliable position informationmay be obtained based on a dynamic baseline, as opposed to conventionalstatic baseline differencing scheme.

Turning now to the figures, FIG. 1 is a block diagram of an exemplaryinput device 100, in accordance with embodiments of the invention. Theinput device 100 may be configured to provide input to an electronicsystem (not shown). As used in this document, the term “electronicsystem” (or “electronic device”) broadly refers to any system capable ofelectronically processing information. Some non-limiting examples ofelectronic systems include personal computers of all sizes and shapes,such as desktop computers, laptop computers, netbook computers, tablets,web browsers, e-book readers, and personal digital assistants (PDAs).Additional example electronic systems include composite input devices,such as physical keyboards that include input device 100 and separatejoysticks or key switches. Further example electronic systems includeperipherals such as data input devices (including remote controls andmice), and data output devices (including display screens and printers).Other examples include remote terminals, kiosks, and video game machines(e.g., video game consoles, portable gaming devices, and the like).Other examples include communication devices (including cellular phones,such as smart phones), and media devices (including recorders, editors,and players such as televisions, set-top boxes, music players, digitalphoto frames, and digital cameras). Additionally, the electronic systemcould be a host or a slave to the input device.

The input device 100 can be implemented as a physical part of theelectronic system, or can be physically separate from the electronicsystem. As appropriate, the input device 100 may communicate with partsof the electronic system using any one or more of the following: buses,networks, and other wired or wireless interconnections. Examples includeI²C, SPI, PS/2, Universal Serial Bus (USB), Bluetooth, RF, and IRDA.

In FIG. 1, the input device 100 is shown as a proximity sensor device(also often referred to as a “touchpad” or a “touch sensor device”)configured to sense input provided by one or more input objects 140 in asensing region 120. Example input objects include fingers and styli, asshown in FIG. 1.

Sensing region 120 encompasses any space above, around, in and/or nearthe input device 100 in which the input device 100 is able to detectuser input (e.g., user input provided by one or more input objects 140).The sizes, shapes, and locations of particular sensing regions may varywidely from embodiment to embodiment. In some embodiments, the sensingregion 120 extends from a surface of the input device 100 in one or moredirections into space until signal-to-noise ratios prevent sufficientlyaccurate object detection. The distance to which this sensing region 120extends in a particular direction, in various embodiments, may be on theorder of less than a millimeter, millimeters, centimeters, or more, andmay vary significantly with the type of sensing technology used and theaccuracy desired. Thus, some embodiments sense input that comprises nocontact with any surfaces of the input device 100, contact with an inputsurface (e.g. a touch surface) of the input device 100, contact with aninput surface of the input device 100 coupled with some amount ofapplied force or pressure, and/or a combination thereof. In variousembodiments, input surfaces may be provided by surfaces of casingswithin which the sensor electrodes reside, by face sheets applied overthe sensor electrodes or any casings, etc. In some embodiments, thesensing region 120 has a rectangular shape when projected onto an inputsurface of the input device 100.

The input device 100 may utilize any combination of sensor componentsand sensing technologies to detect user input in the sensing region 120.The input device 100 comprises one or more sensing elements fordetecting user input. As several non-limiting examples, the input device100 may use capacitive, elastive, resistive, inductive, magnetic,acoustic, ultrasonic, and/or optical techniques.

Some implementations are configured to provide images that span one,two, three, or higher dimensional spaces. Some implementations areconfigured to provide projections of input along particular axes orplanes.

In some resistive implementations of the input device 100, a flexibleand conductive first layer is separated by one or more spacer elementsfrom a conductive second layer. During operation, one or more voltagegradients are created across the layers. Pressing the flexible firstlayer may deflect it sufficiently to create electrical contact betweenthe layers, resulting in voltage outputs reflective of the point(s) ofcontact between the layers. These voltage outputs may be used todetermine positional information.

In some inductive implementations of the input device 100, one or moresensing elements pick up loop currents induced by a resonating coil orpair of coils. Some combination of the magnitude, phase, and frequencyof the currents may then be used to determine positional information.

In some capacitive implementations of the input device 100, voltage orcurrent is applied to create an electric field. Nearby input objectscause changes in the electric field, and produce detectable changes incapacitive coupling that may be detected as changes in voltage, current,or the like.

Some capacitive implementations utilize arrays or other regular orirregular patterns of capacitive sensing elements to create electricfields. In some capacitive implementations, separate sensing elementsmay be ohmically shorted together to form larger sensor electrodes. Somecapacitive implementations utilize resistive sheets, which may beuniformly resistive.

Some capacitive implementations utilize “self capacitance” (or “absolutecapacitance”) sensing methods based on changes in the capacitivecoupling between sensor electrodes and an input object. In variousembodiments, an input object near the sensor electrodes alters theelectric field near the sensor electrodes, thus changing the measuredcapacitive coupling. In one implementation, an absolute capacitancesensing method operates by modulating sensor electrodes with respect toa reference voltage (e.g. system ground), and by detecting thecapacitive coupling between the sensor electrodes and input objects.

Some capacitive implementations utilize “mutual capacitance” (or“transcapacitance”) sensing methods based on changes in the capacitivecoupling between sensor electrodes. In various embodiments, an inputobject near the sensor electrodes alters the electric field between thesensor electrodes, thus changing the measured capacitive coupling. Inone implementation, a transcapacitive sensing method operates bydetecting the capacitive coupling between one or more transmitter sensorelectrodes (also “transmitter electrodes” or “transmitters”) and one ormore receiver sensor electrodes (also “receiver electrodes” or“receivers”). Transmitter sensor electrodes may be modulated relative toa reference voltage (e.g., system ground) to transmit transmittersignals. Receiver sensor electrodes may be held substantially constantrelative to the reference voltage to facilitate receipt of resultingsignals. A resulting signal may comprise effect(s) corresponding to oneor more transmitter signals, and/or to one or more sources ofenvironmental interference (e.g. other electromagnetic signals). Sensorelectrodes may be dedicated transmitters or receivers, or may beconfigured to both transmit and receive.

In FIG. 1, a processing system 110 is shown as part of the input device100. The processing system 110 is configured to operate the hardware ofthe input device 100 to detect input in the sensing region 120. Theprocessing system 110 comprises parts of or all of one or moreintegrated circuits (ICs) and/or other circuitry components. Forexample, a processing system for a mutual capacitance sensor device maycomprise transmitter circuitry configured to transmit signals withtransmitter sensor electrodes, and/or receiver circuitry configured toreceive signals with receiver sensor electrodes). In some embodiments,the processing system 110 also comprises electronically-readableinstructions, such as firmware code, software code, and/or the like. Insome embodiments, components composing the processing system 110 arelocated together, such as near sensing element(s) of the input device100. In other embodiments, components of processing system 110 arephysically separate with one or more components close to sensingelement(s) of input device 100, and one or more components elsewhere.For example, the input device 100 may be a peripheral coupled to adesktop computer, and the processing system 110 may comprise softwareconfigured to run on a central processing unit of the desktop computerand one or more ICs (perhaps with associated firmware) separate from thecentral processing unit. As another example, the input device 100 may bephysically integrated in a phone, and the processing system 110 maycomprise circuits and firmware that are part of a main processor of thephone. In some embodiments, the processing system 110 is dedicated toimplementing the input device 100. In other embodiments, the processingsystem 110 also performs other functions, such as operating displayscreens, driving haptic actuators, etc.

The processing system 110 may be implemented as a set of modules thathandle different functions of the processing system 110. Each module maycomprise circuitry that is a part of the processing system 110,firmware, software, or a combination thereof. In various embodiments,different combinations of modules may be used. Example modules includehardware operation modules for operating hardware such as sensorelectrodes and display screens, data processing modules for processingdata such as sensor signals and positional information, and reportingmodules for reporting information. Further example modules includesensor operation modules configured to operate sensing element(s) todetect input, identification modules configured to identify gesturessuch as mode changing gestures, and mode changing modules for changingoperation modes.

In some embodiments, the processing system 110 responds to user input(or lack of user input) in the sensing region 120 directly by causingone or more actions. Example actions include changing operation modes,as well as GUI actions such as cursor movement, selection, menunavigation, and other functions. In some embodiments, the processingsystem 110 provides information about the input (or lack of input) tosome part of the electronic system (e.g. to a central processing systemof the electronic system that is separate from the processing system110, if such a separate central processing system exists). In someembodiments, some part of the electronic system processes informationreceived from the processing system 110 to act on user input, such as tofacilitate a full range of actions, including mode changing actions andGUI actions.

For example, in some embodiments, the processing system 110 operates thesensing element(s) of the input device 100 to produce electrical signalsindicative of input (or lack of input) in the sensing region 120. Theprocessing system 110 may perform any appropriate amount of processingon the electrical signals in producing the information provided to theelectronic system. For example, the processing system 110 may digitizeanalog electrical signals obtained from the sensor electrodes. Asanother example, the processing system 110 may perform filtering orother signal conditioning. As yet another example, the processing system110 may subtract or otherwise account for a baseline, such that theinformation reflects a difference between the electrical signals and thebaseline. As yet further examples, the processing system 110 maydetermine positional information, recognize inputs as commands,recognize handwriting, and the like.

“Positional information” as used herein broadly encompasses absoluteposition, relative position, velocity, acceleration, and other types ofspatial information. Exemplary “zero-dimensional” positional informationincludes near/far or contact/no contact information. Exemplary“one-dimensional” positional information includes positions along anaxis. Exemplary “two-dimensional” positional information includesmotions in a plane. Exemplary “three-dimensional” positional informationincludes instantaneous or average velocities in space. Further examplesinclude other representations of spatial information. Historical dataregarding one or more types of positional information may also bedetermined and/or stored, including, for example, historical data thattracks position, motion, or instantaneous velocity over time.

In some embodiments, the input device 100 is implemented with additionalinput components that are operated by the processing system 110 or bysome other processing system. These additional input components mayprovide redundant functionality for input in the sensing region 120, orsome other functionality. FIG. 1 shows buttons 130 near the sensingregion 120 that can be used to facilitate selection of items using theinput device 100. Other types of additional input components includesliders, balls, wheels, switches, and the like. Conversely, in someembodiments, the input device 100 may be implemented with no other inputcomponents.

In some embodiments, the input device 100 comprises a touch screeninterface, and the sensing region 120 overlaps at least part of anactive area of a display screen. For example, the input device 100 maycomprise substantially transparent sensor electrodes overlaying thedisplay screen and provide a touch screen interface for the associatedelectronic system. The display screen may be any type of dynamic displaycapable of displaying a visual interface to a user, and may include anytype of light emitting diode (LED), organic LED (OLED), cathode ray tube(CRT), liquid crystal display (LCD), plasma, electroluminescence (EL),or other display technology. The input device 100 and the display screenmay share physical elements. For example, some embodiments may utilizesome of the same electrical components for displaying and sensing. Asanother example, the display screen may be operated in part or in totalby the processing system 110.

It should be understood that while many embodiments of the invention aredescribed in the context of a fully functioning apparatus, themechanisms of the present invention are capable of being distributed asa program product (e.g., software) in a variety of forms. For example,the mechanisms of the present invention may be implemented anddistributed as a software program on information bearing media that arereadable by electronic processors (e.g., non-transitorycomputer-readable and/or recordable/writable information bearing mediareadable by the processing system 110). Additionally, the embodiments ofthe present invention apply equally regardless of the particular type ofmedium used to carry out the distribution. Examples of non-transitory,electronically readable media include various discs, memory sticks,memory cards, memory modules, and the like. Electronically readablemedia may be based on flash, optical, magnetic, holographic, or anyother storage technology.

FIG. 2 shows a portion of an example sensor electrode pattern configuredto sense in a sensing region associated with the pattern, according tosome embodiments. For clarity of illustration and description, FIG. 2shows a pattern (e.g., an array) 200 of simple rectangles, and does notshow various components. This sensor electrode pattern comprises a firstplurality of sensor electrodes 210 (210A-210F) and a second plurality ofsensor electrodes 220 (220A-220F) disposed over the first plurality ofsensor electrodes 160.

Sensor electrodes 210 and sensor electrodes 220 are typically ohmicallyisolated from each other. That is, one or more insulators separatesensor electrodes 210 and sensor electrodes 220 and prevent them fromelectrically shorting to each other. In some embodiments, sensorelectrodes 210 and sensor electrodes 220 are separated by insulativematerial disposed between them at cross-over areas; in suchconstructions, the sensor electrodes 210 and/or sensor electrodes 220may be formed with jumpers connecting different portions of the sameelectrode. In some embodiments, sensor electrodes 210 and sensorelectrodes 220 are separated by one or more layers of insulativematerial. In some other embodiments, sensor electrodes 210 and sensorelectrodes 220 are separated by one or more substrates; for example,they may be disposed on opposite sides of the same substrate, or ondifferent substrates that are laminated together. Moreover, one or moreof the sensor electrodes can be used for both capacitive sensing and forupdating the display.

With continued reference to FIG. 2, the first plurality of sensorelectrodes 210 extend along the “X” direction, and the second pluralityof sensor electrodes 220 extend along the “Y” direction. When an inputobject is placed at or near the surface of the sensing region, forexample, at location 214 (corresponding to the intersection ofelectrodes 220C and 210D), the sensor electrodes in pattern 200capacitively sense the presence of the input object. The measuredcapacitance at each node within the array may be represented by an Xprofile 212 and a Y profile 208. For purposes of the ensuing discussion,a frame refers to a profile of data at a particular time [i]. Thus, theterm C_(X)[i] represents the signal value of the X profile at time [i],and the term C_(Y)[i] represents the signal value of the Y profile attime [i].

Although the sensing data is represented by X profile 212 and Y profile208 in FIG. 2, it should be understood that various other datarepresentations (“projections”) could also be employed. In this context,the term “projection” may refer to a summation of measurements of sensorelectrode values, such as the X and Y coordinate projections shown inFIG. 2; alternatively, the sensing data could be represented as anorthogonal side view or top view of sensor electrode values. That is, invarious embodiments, a projection corresponds to measurements betweeneach sensor electrode and an input object. In an exemplary embodiment,the projections are illustrated as profiles along the coordinate axes ofthe sensor electrode array; however, the projections may be along anydirection or orientation. Further, while the profiles are shown asanalog representations, discrete or other values may also be used in thecontext of the present invention.

Referring now to FIGS. 1 and 3, the processing system 110 includes asensor module 302 and a determination module 304. Sensor module 302 isconfigured to receive frames of data (referred to as resulting signals)from the sensor electrodes associated with sensing region 120.Determination module 304 is configured to process the data, and todetermine first positional information for an input object in the firstportion of the sensing region (away from the surface) based on adifference between a first frame of a first plurality of frames and afiltered frame, even when the input object is determined to be in thesensing region when the first plurality of frames are acquired, whereinthe filtered frame is based on one or more of the first plurality offrames, and wherein the second portion of the sensing region is betweenthe surface and the first portion.

By configuring the processing system 110 in this way, the input device100 can reliably determine positional information for input objects thatare away from the surface using the same sensor electrodes that are usedto determine positional information for input objects at the surfacewithout the need for the static baseline measurements associated withprior art schemes.

Turning now to FIG. 4, a typical example of an input object away fromthe sensing surface is illustrated schematically. Specifically, FIG. 4shows an example of a user's hand 403 making a swiping motion 404 abovea surface 406 of an input sensor device. In the context of thisdisclosure, the sensing region includes a first portion 401 away fromthe surface, and a second portion 402 at or near the surface; that is,the second portion 402 is located between the first portion 401 and thesurface 406.

It should be noted that the location and extent of these first andsecond portions of the sensing region will depend on the implementationof the input device. In general, the second portion 402 is that portionin which the device can accurately determine the position of an inputobject to the extent needed for traditional user input with gestures,such as tap, double tap, drag, etc. In a typical input device, thesecond portion of the sensing region is that portion that is at or verynear the surface. The precise extent of the second portion wouldtypically depend upon the shape and arrangement of the sensorelectrodes, the thickness and material composition of the variouslayers, and the techniques used to measure changes the capacitance.

Likewise, the first portion 401 is above second portion, such that thesecond portion is between the first portion and the surface. The firstportion can thus be beyond the range in which the sensor can be used fortraditional user input with gestures. However, it should be noted thatthere is no requirement for any specific or defined boundary between thefirst and second portions. Instead, it is sufficient that capacitivesensing be adapted to determine positional information for objects awayfrom the surface, using the techniques described in greater detailbelow.

The embodiments of the invention can be used to enable a variety ofdifferent capabilities on the input device. Specifically, it can be usedto enable the same input device that is used for cursor positioning,scrolling, dragging, and icon selection, and other user input at thesurface, to receive input in the form of objects above the surface. Asone specific example, a touch screen or other capacitive sensing devicecan be adapted to close windows on a desktop, put a computer into sleepmode, or perform some other type of mode switch in response to the userswiping a hand over the sensor. As will be described in greater detail,different actions can be configured to occur in response to swipes indifferent directions. Additionally, the input device can be configuredto reject or ignore swipes that are more likely to be inadvertentmotions. The input device can also be configured to detect presence,approach, and departure of input objects.

As noted above, the embodiments of the invention can be implemented witha variety of different types and arrangements of capacitive sensorelectrodes. To name several examples, the input device can beimplemented with electrode arrays that are formed on multiple substratelayers, typically with the electrodes for sensing in one direction(e.g., the “X” direction) formed on a first layer, while the electrodesfor sensing in a second direction (e.g., the “Y” direction are formed ona second layer. In other embodiments, the sensor electrodes for both theX and Y sensing can be formed on the same layer. In yet otherembodiments, the sensor electrodes can be arranged for sensing in onlyone direction, e.g., in either the X or the Y direction. In stillanother embodiment, the sensor electrodes can be arranged to providepositional information in polar coordinates, such as “r” and “0” as oneexample. In these embodiments the sensor electrodes themselves arecommonly arranged in a circle or other looped shape to provide “0”, withthe shapes of individual sensor electrodes used to provide “r”.

Also, a variety of different sensor electrode shapes can be used,including electrodes shaped as thin lines, rectangles, diamonds, wedge,etc. Finally, a variety of conductive materials and fabricationtechniques can be used to form the sensor electrodes. As one example,the sensor electrodes are formed by the deposition and etching ofconductive ink on a substrate.

Referring now to FIG. 5, a processing architecture 502 and an analogousprocessing architecture 504 are illustrated for processing X and Ycoordinate data, respectively. Specifically, processing system 110, andparticularly determination module 304, is configured to process aplurality of temporally sequential frames for each of the X and Ycoordinates to thereby determine position information and, ultimately,swipe validity and velocity information for an input object interactingwith the sensing region. Processing architecture 502 includes a filter506, a position estimator 508, and a detector 511. Processingarchitecture 504 includes a filter 510, a position estimator 512, and adetector 514. The operation of processing architecture 502 will now bedescribed in detail, it being understood that architecture 504 operatesin similar fashion.

With momentary reference to FIG. 6, an alternative embodimentillustrates a processing architecture 602 having an X profile filter604, an X profile centroid estimator 606, a Y profile filter 608, a Ycentroid estimator 610, and a composite detector 612. In thisalternative architecture 602, the centroid positional information forthe X profile data and the Y profile data are combined and a compositepositional information signal 611 is applied to the detector 612. Itshould be noted that any or all of the features and functions describedherein could be implemented in any combination of hardware, firmware,and/or software.

With continued reference to FIG. 5 and with momentary reference to FIGS.1-4, sensor electrode array 200 measures the interaction of input object403 with sensing region 120. A plurality of temporally adjacent framesC_(X)[i] are sequentially applied to filter 506. Based on the pluralityof frames, filter 506 determines positional information 507 and appliesthe positional information to position estimator 508. Position estimator508 processes the position information 507 and outputs processedpositional information 509, and applies the processed positionalinformation 509 to the detector 511. As described in greater detailbelow, detector 511 compares the processed positional information to oneor more threshold values, and outputs an air swipe validity signal 516and a velocity signal 518. In a preferred embodiment, air swipe validitysignal 516 is a binary value, such as a “1” indicating a valid airswipe, and a “0” indicating an invalid air swipe. Velocity signal 518 issuitably a vector indicating the X component of the air swipe speed (theY component of the air swipe speed is given by the analogous output 522from processing architecture 504).

The filter 506 (as well as the filter 510) may be implemented as a bandpass filter 700 illustrated in FIG. 7. The band pass filter 700 includesa first low pass filter (LPF₁) 702 and a second low pass filter (LPF₂)704. The respective outputs of the first low pass filter 702 and thesecond low pass filter 704 are subtracted at a summer 706, to therebyprovide a difference value ▴C[i] representing the input to the band passfilter 700 with a dynamic baseline subtracted out; that is, a filteredversion of one or more previous frames is subtracted from each currentframe. This difference value ▴C[i] effectively represents the change inthe signal since the previous measurement. In various embodiments, otherfilter structures may be used to implement the bandpass filter. In someembodiments, a high pass filter may be used in place of the bandpassfilter.

In one embodiment, the first low pass filter 702 may be in the form of afinite impulse response (FIR) filter having unity taps, also referred toas a boxcar filter. However, in other embodiments, other types of lowpass filters may be used. Functionally, the first low pass filter 702computes an average profile value for successive frames over time, andhas the effect of filtering out noise from the input signals. The firstlow pass filter 702 may be omitted from processing architecture 502, ifdesired.

The second low pass filter 704 may be implemented as a lower orderinfinite impulse response (IIR) filter of the form:LPF₂ :C[i]=αC[i]+(1−α)C[i−1];where 0<α<1.

Functionally, the second low pass filter 704 provides the aforementioneddynamic baseline. The maximum and minimum acceptable air swipevelocities may be determined by dynamically or statically setting thecoefficient value α. In various embodiments, LPF₁ may be omitted (thuscreating a high-pass filter) or LPF₁ may be implemented as an IIRfilter. Conversely, LPF₂ could be implemented as an FIR filter. In someembodiments, delay may be incorporated into LPF₁ to match the delay ofLPF₂.

Returning now to FIG. 5, the position estimator 508 provides theprocessed positional information 509 to the detector 511. The detector502 determines whether the processed positional information satisfiesvarious compliance criteria for evaluating a valid air swipe.

More particularly and with reference to FIGS. 8A-8C, the output 509 ofthe position estimator 508 essentially constitutes a sliding window ofobject position estimates, which may be graphically illustrated as aplot of individual position estimates versus time to facilitate thepresent analysis. Conceptually, any desired number of position estimatesmay be plotted and evaluated against at least the following twocompliance criteria: i) whether the slope of the resulting “line”exceeds a first threshold; and ii) whether the sum of errors for theposition estimates exceeds a second threshold value. Inasmuch as a plotof position versus time essentially correlates to air swipe velocity,the slope of the line determines whether the air swipe under inspectionsatisfies maximum and minimum velocity criteria; that is, the slopedetermines whether the air swipe is too fast or too slow and should thusbe disregarded as an invalid air swipe. The sum of errors criterionessentially determines whether the air swipe corresponds to a deliberategesture of substantially uniform speed; that is, a smooth motion will beregarded as an intentional gesture, whereas a jittery motion may bedisregarded as an unintended artifact.

FIG. 8A illustrates a characteristic line 802 for various sequentialposition estimates. The line 802 may be calculated using any convenientmethod, such as a least squares approximation. FIG. 8A suggests that theline 802 satisfies the first compliance criteria relating to slope, inthat the slope of the line 802 is greater than a minimum velocitythreshold value represented by dashed line 803, and less than a maximumvelocity threshold value represented by dashed line 805. By comparison,the characteristic line 804 (FIG. 8B) does not satisfy the velocitycriteria since the slope of line 804 is less than that prescribed bydashed line 803.

With regard to the second exemplary compliance criteria, it can be seenthat a characteristic line 806 illustrated in FIG. 8C exceeds the sum oferrors threshold graphically represented by error boundary lines 807 and809. By comparison, the line 802 shown in FIG. 8A satisfies the sum oferrors criteria since the distance between the position values and theline 802 does not exceed the sum of errors boundary (not shown in FIG.8A for clarity).

Referring now to FIG. 9, a flow chart illustrates an exemplary method900 for detecting valid air swipes in accordance with variousembodiments. The method 900 includes driving (task 902) the sensorelectrode array 200 (see FIG. 4) and acquiring (task 904) a firstplurality of frames and a second plurality of frames. The method 900determines (task 906) first positional information for the firstplurality of frames based on a filtered frame (i.e., a dynamicbaseline). The method 900 also determines (task 908) second positionalinformation for the second plurality of frames based on a staticbaseline. The method 900 reports (task 910) a valid air swipe if thefirst positional information satisfies predetermined compliance criteriaas discussed, for example, in connection with FIG. 8. The method 900 mayalso report (task 912) velocity information for the air swipe.

The ability to reject invalid air swipes can be useful in avoidinginadvertent activation of those actions that could otherwise occur. Itshould be noted, however, that there are trade-offs in establishing whendetected motion should be rejected. If the criteria are too strict thensome intended motions may not always be recognized (false negatives). Ifthe criteria are too relaxed then unintended motions may be recognized(false positives). In some applications it may be desirable to providedifferent levels of criteria that may be selectable by the user oradapted by the electronic system.

A processing system is thus provided for a capacitive sensing device ofthe type including a sensing region. The processing system includes asensor module having sensing circuitry coupled to a plurality of sensorelectrodes under a surface, wherein the sensor module is configured toacquire a first plurality of frames by driving the sensor electrodes forcapacitive sensing. The processing system also includes a determinationmodule configured to determine first positional information for an inputobject in a first portion of the sensing region based on a differencebetween a first frame of the first plurality of frames and a filteredframe even when the input object is determined to be in the sensingregion when the first plurality of frames are acquired, wherein thefiltered frame is based on one or more of the first plurality of frames;and wherein a second portion of the sensing region is between thesurface and the first portion of the sensing region.

In an embodiment, the sensor module is configured to acquire a secondplurality of frames, and the determination module is configured todetermine second positional information for the input object in thesecond portion of the sensing region based on a difference between abaseline frame and a first frame of the second plurality of frames;wherein the baseline frame is based on a second frame in the secondplurality of frames, and wherein during acquisition of the second frameof the second plurality of frames no input object is determined to be inthe second portion of the sensing region. The filtered frame may be acombination of one or more of the first plurality of frames.

The determination module may be configured to process the firstpositional information, and to report the presence of the input objectwithin the first portion of the sensing region based on a comparison ofthe processed first positional information with a threshold value.

In a further embodiment, the determination module is configured toprocess the first positional information, and to report one of anarrival and a removal of the input object from the first portion of thesensing region based on a comparison of the processed first positionalinformation with the threshold value. The determination module may alsobe configured to determine the first positional information for theinput object in the first portion of the sensing region further based ona difference between a second frame of the first plurality of frames anda second filtered frame, and to process the first positional informationaccording to predetermined compliance criteria. The predeterminedcompliance criteria can include at least one of velocity and velocityuniformity. Another criterion for compliance could relate to the totaldistance the input object has traveled. For example, if the input objecttravels less than half the length of the sensing device, any gesturerelated to the input object may be rejected. In other embodiments, thecriterion may be greater or less than half the length of the sensingdevice.

In another embodiment the determination module is further configured toreport a valid gesture if the processed first positional informationsatisfies the compliance criteria, and to report an invalid gesture ifthe processed first positional information does not satisfy thecompliance criteria. The determination module may be configured toeffect a predetermined action if the processed first positionalinformation satisfies the predetermined compliance criteria.

In another embodiment the processing system is configured to cooperatewith an electronic system, such that the predetermined action comprisescontrolling at least one of the following parameters of the electronicsystem: the on/off state; the sleep state; doze state; a gamingparameter; a joy stick; a page turn; a screen transition; actuating alight; actuating a sound; implementing a security feature; initiating anapplication; and terminating an application.

In a further embodiment the plurality of sensor electrodes comprises afirst set of sensor electrodes defining a first direction and a secondset of sensor electrodes defining a second direction, and the inputobject corresponds to a hand motion of substantially uniform velocity.

A sensor device having a sensing region is also provided, the sensordevice including a plurality of sensor electrodes under a surface and aprocessing system coupled to the electrodes and configured to: acquire afirst plurality of frames and a second plurality of frames by drivingthe sensor electrodes for capacitive sensing; determine secondpositional information for an input object in a second portion of thesensing region based on a difference between a baseline frame and afirst frame of the second plurality of frames, wherein the baselineframe is based on a second frame in the second plurality of frames, andwherein during acquisition of the second frame of the first plurality offrames no input object is determined to be in the second portion of thesensing region; and determine first positional information for the inputobject in a first portion of the sensing region based on a differencebetween a first frame and a second frame of the first plurality offrames, wherein the input object is determined to be in the firstportion of the sensing region during acquisition of the first and secondframes of the first plurality of frames and wherein the second portionsensing region is between the first portion of the sensing region andthe surface.

The processing system may be configured to process the first positionalinformation, and to report one of the presence of the input objectwithin, and the removal of the input object from, the first portion ofthe sensing region based on a comparison of the processed firstpositional information with a threshold value.

In another embodiment the processing system is configured to determinethe first positional information for the input object in the firstportion of the sensing region based on a difference between a thirdframe and the second frame of the first plurality of frames, and toprocess the first positional information according to predeterminedcompliance criteria, wherein the predetermined compliance criteriaincludes at least one of velocity and velocity uniformity. Thedetermination module may be configured to report a valid gesture if theprocessed first positional information satisfies the compliancecriteria, and to report and invalid gesture if the processed firstpositional information does not satisfy the compliance criteria.

In an embodiment, the processing system is configured to cooperate withan electronic system and to effect a predetermined action if theprocessed first positional information satisfies the predeterminedcompliance criteria, wherein the predetermined action comprisescontrolling at least one of the following parameters of the electronicsystem: the on/off state; the sleep state; doze state; a gamingparameter; a joy stick; a page turn; a screen transition; actuating alight; actuating a sound; implementing a security feature; initiating anapplication; and terminating an application. The predeterminedcompliance criteria may comprise a range of slope values correspondingto a plot of at least the processed first positional information versustime, and a maximum threshold value corresponding to a summation oferror values for at least the processed first positional information.

A method is provided for detecting proximity events using a capacitivesensing device of the type including a plurality of sensor electrodesunder a surface, wherein the capacitive sensing device comprises asensing region above the surface, the sensing region having a secondportion located between the surface and a first portion of the sensingregion. The method includes driving the electrodes for capacitivesensing of an input object; acquiring a first plurality of frames and asecond plurality of frames; determining first positional information foran input object in the first portion of the sensing region away from thesurface using a first process which does not use a baseline value,wherein the first process involves a difference between a first frameand a second frame of the first plurality of frames, wherein the inputobject is determined to be in the first portion of the sensing regionduring acquisition of the first and second frames of the first pluralityof frames; and determining second positional information for an inputobject in the second portion of the sensing region using a secondprocess involving a difference between a first frame and a second frameof the second plurality of frames, wherein the second frame is abaseline frame and wherein during acquisition of the baseline frame noinput object is determined to be in the second portion of the sensingregion.

The method may also include determining whether the first positionalinformation corresponds to the input object entering, leaving, orremaining within the first portion of the sensing region. In anotherembodiment the method also involves determining whether the firstpositional information corresponds to a hand motion of substantiallyuniform velocity substantially parallel to and spaced apart from thesurface.

Thus, the embodiments and examples set forth herein were presented inorder to best explain the present invention and its particularapplication and to thereby enable those skilled in the art to make anduse the invention. However, those skilled in the art will recognize thatthe foregoing description and examples have been presented for thepurposes of illustration and example only. The description as set forthis not intended to be exhaustive or to limit the invention to theprecise form disclosed.

What is claimed is:
 1. A processing system for a capacitive sensingdevice comprising a sensing region, the processing system comprising: asensor module comprising sensing circuitry coupled to a plurality ofsensor electrodes under a surface, wherein the sensor module isconfigured to acquire a first plurality of frames by driving the sensorelectrodes for capacitive sensing; and a determination module configuredto determine first positional information for an input object in a firstportion of the sensing region based on a difference between a firstframe of the first plurality of frames and a filtered frame even whenthe input object is determined to be in the sensing region when thefirst plurality of frames are acquired, wherein the filtered frame isbased on one or more of the first plurality of frames; and wherein asecond portion of the sensing region is between the surface and thefirst portion of the sensing region.
 2. The processing system of claim1, wherein: the sensor module is configured to acquire a secondplurality of frames; and the determination module is configured todetermine second positional information for the input object in thesecond portion of the sensing region based on a difference between abaseline frame and a first frame of the second plurality of frames;wherein the baseline frame is based on a second frame in the secondplurality of frames, and wherein during acquisition of the second frameof the second plurality of frames no input object is determined to be inthe second portion of the sensing region.
 3. The processing system ofclaim 1, wherein the filtered frame is a combination of one or more ofthe first plurality of frames.
 4. The processing system of claim 1,wherein the determination module is configured to process the firstpositional information, and to report the presence of the input objectwithin the first portion of the sensing region based on a comparison ofthe processed first positional information with a threshold value. 5.The processing system of claim 1, wherein the determination module isconfigured to process the first positional information, and to reportone of an arrival and a removal of the input object from the firstportion of the sensing region based on a comparison of the processedfirst positional information with the threshold value.
 6. The processingsystem of claim 1, wherein the determination module is furtherconfigured to determine the first positional information for the inputobject in the first portion of the sensing region further based on adifference between a second frame of the first plurality of frames and asecond filtered frame, and to process the first positional informationaccording to predetermined compliance criteria.
 7. The processing systemof claim 6, wherein the predetermined compliance criteria includes atleast one of velocity, velocity uniformity, and distance traveled by theinput object.
 8. The processing system of claim 6, wherein thedetermination module is further configured to report a valid gesture ifthe processed first positional information satisfies the compliancecriteria, and to report an invalid gesture if the processed firstpositional information does not satisfy the compliance criteria.
 9. Theprocessing system of claim 5, wherein the determination module isfurther configured to effect a predetermined action if the processedfirst positional information satisfies the predetermined compliancecriteria.
 10. The processing system of claim 9, wherein: The processingsystem is configured to cooperate with an electronic system; and thepredetermined action comprises controlling at least one of the followingparameters of the electronic system: the on/off state; the sleep state;doze state; a gaming parameter; a joy stick; a page turn; a screentransition; actuating a light; actuating a sound; implementing asecurity feature; initiating an application; and terminating anapplication.
 11. The processing system of claim 1, wherein the pluralityof sensor electrodes comprises a first set of sensor electrodes defininga first direction and a second set of sensor electrodes defining asecond direction.
 12. The processing system of claim 1 wherein the inputobject corresponds to a hand motion of substantially uniform velocity.13. A sensor device comprising a sensing region, the sensor devicefurther comprising: plurality of sensor electrodes under a surface; anda processing system coupled to the electrodes and configured to: acquirea first plurality of frames and a second plurality of frames by drivingthe electrodes for capacitive sensing; determine second positionalinformation for an input object in a second portion of the sensingregion based on a difference between a baseline frame and a first frameof the second plurality of frames, wherein the baseline frame is basedon a second frame in the second plurality of frames, and wherein duringacquisition of the second frame of the first plurality of frames noinput object is determined to be in the second portion of the sensingregion; and determine first positional information for the input objectin a first portion of the sensing region based on a difference between afirst frame and a second frame of the first plurality of frames, whereinthe input object is determined to be in the first portion of the sensingregion during acquisition of the first and second frames of the firstplurality of frames and wherein the second portion sensing region isbetween the first portion of the sensing region and the surface.
 14. Thesensor device of claim 13, wherein the processing system is configuredto process the first positional information, and to report one of thepresence of the input object within, and the removal of the input objectfrom, the first portion of the sensing region based on a comparison ofthe processed first positional information with a threshold value. 15.The sensor device of claim 13, wherein the processing system isconfigured to determine the first positional information for the inputobject in the first portion of the sensing region based on a differencebetween a third frame and the second frame of the first plurality offrames, and to process the first positional information according topredetermined compliance criteria, wherein the predetermined compliancecriteria includes at least one of velocity and velocity uniformity. 16.The sensor device of claim 14, wherein the determination module isfurther configured to report a valid gesture if the processed firstpositional information satisfies the compliance criteria, and to reportand invalid gesture if the processed first positional information doesnot satisfy the compliance criteria.
 17. The sensor device of claim 15,wherein the processing system is configured to cooperate with anelectronic system and to effect a predetermined action if the processedfirst positional information satisfies the predetermined compliancecriteria, wherein the predetermined action comprises controlling atleast one of the following parameters of the electronic system: theon/off state; the sleep state; doze state; a gaming parameter; a joystick; a page turn; a screen transition; actuating a light; actuating asound; implementing a security feature; initiating an application; andterminating an application.
 18. The sensor device of claim 15, whereinthe predetermined compliance criteria comprise a range of slope valuescorresponding to a plot of at least the processed first positionalinformation versus time, and a maximum threshold value corresponding toa summation of error values for at least the processed first positionalinformation.
 19. A method of detecting proximity events using acapacitive sensing device comprising a plurality of sensor electrodesunder a surface, wherein the capacitive sensing device comprises asensing region above the surface, the sensing region having a secondportion located between the surface and a first portion of the sensingregion, the method comprising: driving the electrodes for capacitivesensing of an input object; acquiring a first plurality of frames and asecond plurality of frames; determining first positional information foran input object in the first portion of the sensing region away from thesurface using a first process which does not use a baseline value,wherein the first process involves a difference between a first frameand a second frame of the first plurality of frames, wherein the inputobject is determined to be in the first portion of the sensing regionduring acquisition of the first and second frames of the first pluralityof frames; and determining second positional information for an inputobject in the second portion of the sensing region using a secondprocess involving a difference between a first frame and a second frameof the second plurality of frames, wherein the second frame is abaseline frame and wherein during acquisition of the baseline frame noinput object is determined to be in the first second portion of thesensing region.
 20. The method of claim 19, further comprisingdetermining whether the first positional information corresponds to theinput object entering, leaving, or remaining within the first portion ofthe sensing region.
 21. The method of claim 19, further comprisingdetermining whether the first positional information corresponds to ahand motion of substantially uniform velocity substantially parallel toand spaced apart from the surface.